package org.test6;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

public class test {
    public static void main(String[] args) {
        //测试B类上的注解是否为runtime级别
        //main运行 -> jvm ->　加载　Ｂ类　　－＞B类中的方法上的注解是  RetentionPolicy.RUNTIME
        // 所以可以通过反射机制获取到
        //方法
        Method[] ms= B.class.getMethods();
        for(   Method m:ms){
            MyAnnotation myAnnotation= m.getAnnotation(MyAnnotation.class);
            if(myAnnotation!=null){
                System.out.println(myAnnotation.name());
            }
        }
        //测试B类上的注解是否为runtime级别
        //main运行 -> jvm ->　加载　Ｂ类　　－＞B类中的字段上的注解是  RetentionPolicy.RUNTIME
        // 所以可以通过反射机制获取到
        //成员
        Field[] fs= B.class.getDeclaredFields();
        for(   Field f:fs){
            MyAnnotation myAnnotation= f.getAnnotation(MyAnnotation.class);
            if(myAnnotation!=null){
                System.out.println(myAnnotation.name());
            }
        }
    }
}
